// UnitInfoServiceImpl.java
package com.wormhole.wormholemanagement.service.impl;

import com.wormhole.wormholemanagement.entity.UnitInfo;
import com.wormhole.wormholemanagement.repository.UnitInfoRepository;
import com.wormhole.wormholemanagement.service.UnitInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Optional;

/**
 * UnitInfoService接口的实现类
 * 提供对UnitInfo实体的业务逻辑处理
 */
@Service
public class UnitInfoServiceImpl implements UnitInfoService {

    @Autowired
    private UnitInfoRepository unitInfoRepository;

    /**
     * 获取所有单位信息列表
     * @return 包含所有单位信息的列表
     */
    @Override
    public List<UnitInfo> findAll() {
        return unitInfoRepository.findAll();
    }

    /**
     * 根据ID查找单位信息
     * @param id 单位信息的主键ID
     * @return 包含单位信息的Optional对象
     */
    @Override
    public Optional<UnitInfo> findById(Long id) {
        return unitInfoRepository.findById(id);
    }

    /**
     * 保存单位信息
     * 如果是新记录则创建，如果已存在则更新
     * @param unitInfo 要保存的单位信息对象
     * @return 保存后的单位信息对象
     */
    @Override
    public UnitInfo save(UnitInfo unitInfo) {
        return unitInfoRepository.save(unitInfo);
    }

    /**
     * 根据ID删除单位信息
     * @param id 要删除的单位信息的主键ID
     */
    @Override
    public void deleteById(Long id) {
        unitInfoRepository.deleteById(id);
    }
}
